package com.spring.springInterface;

import com.spring.AOP.DefaultProxyFactory;

public interface BeanPostProcessor {
    //实例化前的拓展点
    default Object postProcessBeforeInstantiation(Class<?> beanClass, String beanName) {
        // 默认返回null，不干预实例化流程
        return null;
    }

    public Object postProcessBeforeInitialization(Object bean, String beanName);
    public Object postProcessAfterInitialization(Object bean, String beanName) throws ClassNotFoundException;

    void setProxyCreator(DefaultProxyFactory beanFactory);

}
